package org.gvp.manager.repository;

import org.gvp.common.constant.BaseRepository;
import org.gvp.manager.dto.AuthorityTreeData;
import org.gvp.manager.dto.PathTreeData;
import org.gvp.manager.pojo.SecurityRolePath;
import org.gvp.manager.to.MapperUpdate;

import java.util.List;

/**
 * 角色请求路径关系表 数据层接口
 */
public interface SecurityRolePathRepository extends BaseRepository<SecurityRolePath> {
    /**
     * 根据角色ID获取角色路径key列表
     * @param roleId 角色列表
     */
    List<String> searchRolePathKeys(Integer roleId);

    /**
     * 根据路径树数据的父id获取路径树数据
     * @param parentId 父id
     */
    List<PathTreeData> searchByParentId(Integer parentId);

    /**
     * 根据角色的ID和路径菜单的KYE集合删除删除角色路径权限
     * @param update 更新映射类
     */
    int logicalCancel(MapperUpdate update);

    /**
     * 根据路径key列表查找路径id列表
     */
    List<Integer> searchPathIds(List<String> keys);

    /**
     * 根据角色ID和路径ID获取角色路径关系信息
     */
    SecurityRolePath searchByRoleIdAndPathId(Integer roleId, Integer pathId);

}
